﻿using System.Collections.ObjectModel;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gco;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmd;

namespace Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmx
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CT_UomCatalogue_Type))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CT_CrsCatalogue_Type))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CT_CodelistCatalogue_Type))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.isotc211.org/2005/gmx")]
    public abstract class AbstractCT_Catalogue_Type : AbstractObject_Type
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("name")]
        public CharacterString_PropertyType Name { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("scope")]
        public Collection<CharacterString_PropertyType> Scope { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("fieldOfApplication")]
        public Collection<CharacterString_PropertyType> FieldsOfApplication { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("versionNumber")]
        public CharacterString_PropertyType VersionNumber { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("versionDate")]
        public Date_PropertyType VersionDate { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("language")]
        public CharacterString_PropertyType Language { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("characterSet")]
        public MD_CharacterSetCode_PropertyType CharacterSets { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("locale")]
        public Collection<PT_Locale_PropertyType> Locales { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("subCatalogue")]
        public Collection<CT_Catalogue_PropertyType> SubCatalogues { get; set; }
    }
}
